package global

import (
	"github.com/go-redis/redis"
	"gorm.io/gorm"
)

// 全局变量定义
// 全局变量用于在应用程序的不同部分之间共享关键资源
var (
	// Db 全局数据库连接实例
	// @Summary 数据库连接实例
	// @Description 全局GORM数据库连接，应用程序各部分通过此变量访问数据库
	Db *gorm.DB
	// RedisDb 全局Redis客户端连接实例
	// @Summary Redis客户端连接实例
	// @Description 全局Redis客户端连接，应用程序各部分通过此变量访问Redis缓存
	RedisDb *redis.Client
)

// InitGlobal 初始化全局变量
// @Summary 初始化全局变量
// @Description 在应用启动时初始化所有全局变量
// @Tags 全局变量
// @Param db *gorm.DB 数据库连接实例
// @Param redisDb *redis.Client Redis客户端连接实例
func InitGlobal(db *gorm.DB, redisDb *redis.Client) {
	Db = db
	RedisDb = redisDb
}
